home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / AmigaTalk / testfiles / TestDBase1 < prev    next >
Encoding:
Text File  |  2004-01-31  |  5.2 KB  |  180 lines

  1. addrBook <- DataBase  new
  2.  
  3. record   <- DBRecordTemplate new: 7  " Seven DBFieldString fields "
  4.  
  5. name     <- DBFieldString new
  6. surname  <- DBFieldString new
  7. address  <- DBFieldString new
  8. city     <- DBFieldString new
  9. state    <- DBFieldString new
  10. zipcode  <- DBFieldString new
  11. phone    <- DBFieldString new
  12.  
  13. nameField    <- name    create: 'First_Name' length: 32
  14. surnameField <- surname create: 'Last_Name'  length: 32
  15. addressField <- address create: 'Address'    length: 32
  16. cityField    <- city    create: 'City/Town'  length: 32
  17. stateField   <- state   create: 'State'      length: 20
  18. zipcodeField <- zipcode create: 'ZipCode'    length: 11
  19. phoneField   <- phone   create: 'Phone #'    length: 14
  20.  
  21. record addField: nameField    at: 1  " Setup the DBRecordTemplate "
  22. record addField: surnameField at: 2
  23. record addField: addressField at: 3
  24. record addField: cityField    at: 4
  25. record addField: stateField   at: 5
  26. record addField: zipcodeField at: 6
  27. record addField: phoneField   at: 7
  28.  
  29. recordData <- DBData new: (record recordSize) "173 <- 32 * 4 + 20 + 11 + 14"
  30.  
  31. addrBook create: 'SimpleAddressBook' for: record
  32.  
  33. addrBook open: 'SimpleAddressBook' for: record
  34.  
  35.  
  36. ( 'Executing the TestDBase1 file...' ) print
  37.  
  38. titleStr <- 'SimpleAddressBook (DataBase example):'
  39.  
  40. amigatalk newIO: 'Enter your first name:' title: titleStr
  41.  
  42. rval <- amigatalk getString
  43.  
  44. nameData1 <- FieldString new: rval
  45.  
  46. recordData modifyWith: (nameData1 value) at: (record offsetAt: 1) length: (nameData1 value) size
  47.  
  48.  
  49. amigatalk newIO: 'Enter your last name:' title: titleStr
  50.  
  51. rval <- amigatalk getString
  52.  
  53. surnameData1 <- FieldString new: rval
  54.  
  55. recordData modifyWith: (surnameData1 value) at: (record offsetAt: 2) length: (surnameData1 value) size
  56.  
  57. amigatalk newIO: 'Enter your Street Address:' title: titleStr
  58.  
  59. rval <- amigatalk getString
  60.  
  61. addrData1 <- FieldString new: rval
  62.  
  63. recordData modifyWith: (addrData1 value) at: (record offsetAt: 3) length: (addrData1 value) size
  64.  
  65. amigatalk newIO: 'Enter your City/Town:' title: titleStr
  66.  
  67. rval <- amigatalk getString
  68.  
  69. cityData1 <- FieldString new: rval
  70.  
  71. recordData modifyWith: (cityData1 value) at: (record offsetAt: 4) length: (cityData1 value) size
  72.  
  73. amigatalk newIO: 'Enter your State/Province:' title: titleStr
  74.  
  75. rval <- amigatalk getString
  76.  
  77. stateData1 <- FieldString new: rval
  78.  
  79. recordData modifyWith: (stateData1 value) at: (record offsetAt: 5) length: (stateData1 value) size
  80.  
  81. amigatalk newIO: 'Enter your ZipCode (12345-1234):' title: titleStr
  82.  
  83. rval <- amigatalk getString
  84.  
  85. zipData1 <- FieldString new: rval
  86.  
  87. recordData modifyWith: (zipData1 value) at: (record offsetAt: 6) length: (zipData1 value) size
  88.  
  89. amigatalk newIO: 'Enter your Phone Number (123) 123-4567:' title: titleStr
  90.  
  91. rval <- amigatalk getString
  92.  
  93. phoneData1 <- FieldString new: rval
  94.  
  95. recordData modifyWith: (phoneData1 value) at: (record offsetAt: 7) length: (phoneData1 value) size
  96.  
  97. addrBook write: recordData as: 1
  98.  
  99.  
  100. amigatalk newIO: 'User Information:' title: titleStr
  101.  
  102. amigatalk displayString: 'Your data was written as Record number 1'
  103.  
  104. amigatalk displayString: 'Now let us enter another record!'
  105.  
  106. recordData reset     " Re-use the same recordData object! "
  107.  
  108. amigatalk newIO: 'Enter another first name:' title: titleStr
  109.  
  110. rval      <- amigatalk getString
  111. nameData2 <- FieldString new: rval
  112.  
  113. recordData modifyWith: (nameData2 value) at: (record offsetAt: 1) length: (nameData2 value) size
  114.  
  115. amigatalk newIO: 'Enter another last name:' title: titleStr
  116.  
  117. rval         <- amigatalk getString
  118. surnameData2 <- FieldString new: rval
  119.  
  120. recordData modifyWith: (surnameData2 value) at: (record offsetAt: 2) length: (surnameData2 value) size
  121.  
  122. amigatalk newIO: 'Enter another Street Address:' title: titleStr
  123.  
  124. rval      <- amigatalk getString
  125. addrData2 <- FieldString new: rval
  126.  
  127. recordData modifyWith: (addrData2 value) at: (record offsetAt: 3) length: (addrData2 value) size
  128.  
  129. amigatalk newIO: 'Enter another City/Town:' title: titleStr
  130.  
  131. rval      <- amigatalk getString
  132. cityData2 <- FieldString new: rval
  133.  
  134. recordData modifyWith: (cityData2 value) at: (record offsetAt: 4) length: (cityData2 value) size
  135.  
  136. amigatalk newIO: 'Enter another State/Province:' title: titleStr
  137.  
  138. rval       <- amigatalk getString
  139. stateData2 <- FieldString new: rval
  140.  
  141. recordData modifyWith: (stateData2 value) at: (record offsetAt: 5) length: (stateData2 value) size
  142.  
  143. amigatalk newIO: 'Enter another ZipCode (12345-1234):' title: titleStr
  144.  
  145. rval     <- amigatalk getString
  146. zipData2 <- FieldString new: rval
  147.  
  148. recordData modifyWith: (zipData2 value) at: (record offsetAt: 6) length: (zipData2 value) size
  149.  
  150. amigatalk newIO: 'Enter another Phone Number (123) 123-4567:' title: titleStr
  151.  
  152. rval       <- amigatalk getString
  153. phoneData2 <- FieldString new: rval
  154.  
  155. recordData modifyWith: (phoneData2 value) at: (record offsetAt: 7) length: (phoneData2 value) size
  156.  
  157. addrBook write: recordData as: 2
  158.  
  159. amigatalk setIOTitle:    'DBase example Tests (continued):'
  160. amigatalk setIOMessage:  'DBase entries finished!'
  161. amigatalk displayString: 'Your data was written as Record number 2'
  162.  
  163. nameData1    dispose " Get rid of old junk "
  164. surnameData1 dispose
  165. addrData1    dispose
  166. cityData1    dispose
  167. stateData1   dispose
  168. zipData1     dispose
  169. phoneData1   dispose
  170.  
  171. nameData2    dispose
  172. surnameData2 dispose
  173. addrData2    dispose
  174. cityData2    dispose
  175. stateData2   dispose
  176. zipData2     dispose
  177. phoneData2   dispose
  178.  
  179. ( 'Now, execute TestDBase2 file!' ) print
  180.